home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Python 1.3.3 / stdwin / Packs / textedit / wprintf.c < prev   
C/C++ Source or Header  |  1995-12-21  |  1KB  |  43 lines

  1. #include "stdwin.h"
  2.  
  3. /* "Printf to a window", with (h, v) and return value like wdrawtext.
  4.    Use only in a draw procedure or between wbegindrawing/wenddrawing. */
  5.  
  6. void
  7. wprintf(h, v, fmt, rest_of_arguments)
  8.     int h, v;
  9.     char *fmt;
  10. {
  11.     char buf[1000];
  12.     int len;
  13.     int width;
  14.     
  15.     vsprintf(buf, fmt, &rest_of_arguments);
  16.     len = strlen(buf);
  17.     width = wtextwidth(buf, len);
  18.     wdrawtext(h, v, buf, len);
  19. }
  20.  
  21. /* "Centered printf to a window": like wprintf but allows centered text.
  22.    The first parameter, align, is a percentage: a value of 0 prints
  23.    at the right of h, a value of 50 centers around h, a value of 100
  24.    aligns the end of the text at h.
  25.    The v coordinate always indicates the top of the text.
  26.    Return value is the h coordinate at the right end of the text. */
  27.  
  28. void
  29. wcprintf(align, h, v, fmt, rest_of_arguments)
  30.     int align;
  31.     int h, v;
  32.     char *fmt;
  33. {
  34.     char buf[1000];
  35.     int len;
  36.     int width;
  37.     
  38.     vsprintf(buf, fmt, &rest_of_arguments);
  39.     len = strlen(buf);
  40.     width = wtextwidth(buf, len);
  41.     wdrawtext(h - align*width/100, v, buf, len);
  42. }
  43.